package main.old.old_2022;


/**
 * @Author: Take-off
 * @Description: //TODO
 * 509. 斐波那契数：该数列由 0 和 1 开始，后面的每一项数字都是前面两项数字的和
 *70. 爬楼梯：假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢？
 * @Date: 8:20 PM 2022/7/26
 * @Param:
 * @return:
 **/

public class Solution0727 {

    //斐波那契数
    public int fib(int n) {
        if (n<2){
            return n;
        }

        int p = 0;
        int q = 0;
        int r = 1;
        for (int i = 2; i <= n; ++i) {
            p = q;
            q = r;
            r = p + q;
        }
        return r;

    }

    //爬楼梯
    public int climbStairs(int n) {
        if (n<2){
            return n;
        }

        int p = 0;
        int q = 0;
        int r = 1;
        for (int i = 2; i <= n; ++i) {
            p = q;
            q = r;
            r = p + q;
        }
        return r;
    }

}